Ana içeriğe geç

Rocky Linux 9’da Fail2Ban ile SSH Güvenliği

Bu rehberde neler öğreneceksiniz?​

Bu rehberde Rocky Linux 9 üzerinde Fail2Ban kurulumunu yaparak SSH brute-force saldırılarını otomatik olarak engellemeyi öğreneceksiniz. Jail yapılandırması, servis ayarları, test işlemleri ve SSS dahil eksiksiz bir güvenlik kurulum rehberi sunulmaktadır.


1. Fail2Ban Paketini Kurma​

Fail2Ban, Rocky Linux varsayılan depolarında bulunmaz; önce EPEL deposu kurulmalıdır.

EPEL deposunu ekleyin​


sudo dnf install epel-release -y

EPEL deposunu sunucuya ekler; Fail2Ban burada bulunur.

Fail2Ban’ı yükleyin​


sudo dnf install fail2ban -y

Fail2Ban yazılımını sisteme kurar.

Servis durumunu kontrol edin​


systemctl status fail2ban

Servisin yüklü olup olmadığını ve aktif/pasif durumunu gösterir.


2. Fail2Ban Konfigürasyonunu Hazırlama​

Fail2Ban yapılandırma dosyaları /etc/fail2ban dizininde yer alır.

Varsayılan dosyayı yerel ayarlara kopyalayın​


cd /etc/fail2ban
sudo cp jail.conf jail.local

Varsayılan dosya güncellemelerde değişebileceği için local dosyada düzenleme yapıyoruz.

Temel güvenlik parametrelerini düzenleyin​

Aşağıdaki bölüm jail.local içinde yer almalıdır:


[DEFAULT]
bantime = 10m
findtime = 10m
maxretry = 5

10 dakika içinde 5 başarısız deneme yapan IP, 10 dakika boyunca banlanır.


3. SSH Jail’ini Etkinleştirme​

SSH servisini korumak için ilgili jail’i aktif etmemiz gerekiyor.


[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

SSH loglarını izleyerek hatalı girişleri tespit eder ve gerektiğinde IP’leri banlar.

İlgili filtre dosyası: /etc/fail2ban/filter.d/sshd.conf


4. Fail2Ban Servisini Başlatma​

Servisi kalıcı olarak etkinleştirin​


sudo systemctl enable fail2ban

Sunucu yeniden başlasa bile Fail2Ban otomatik çalışır.

Servisi hemen başlatın​


sudo systemctl start fail2ban

Fail2Ban servisini aktif hale getirir.

Servis durumunu doğrulayın​


sudo systemctl status fail2ban

“active (running)” görünüyorsa her şey doğru çalışıyor demektir.


5. (Opsiyonel) Ban Politikasını Test Etme​

Başka bir sunucudan kasıtlı olarak yanlış giriş yaparak Fail2Ban’ın işleyişini test edebilirsiniz.

Yanlış giriş denemeleri yapın​


ssh hatali@tr1-node01.rabisu.cloud

Birden fazla hatalı deneme yapınca Fail2Ban devreye girer.

Beklenen davranış: Başta: Permission denied

Birkaç denemeden sonra: Connection refused (ban uygulanmış)

Banlanan IP’leri görüntüleme​


sudo fail2ban-client status sshd

SSH jail’ine ait banlı IP listesi görüntülenir.


Sıkça Sorulan Sorular (SSS)​

1. Fail2Ban sadece SSH koruması mı sağlar? Hayır, Nginx, Postfix, vs. için de filtreler etkinleştirilebilir.

2. Banlanan IP’yi nasıl kaldırırım? sudo fail2ban-client set sshd unbanip <IP> komutu ile.

3. Kendi IP’mi banladım, ne yapacağım? Rabisu Bulut panelindeki Web Konsolu’ndan unban komutu çalıştır.

4. Fail2Ban saldırıyı nasıl algılıyor? Log dosyalarını regex filtreleriyle tarayıp başarısız giriş satırlarını yakalıyor.

5. Neden jail.conf yerine jail.local düzenleniyor?

jail.conf güncellemelerde değişir; jail.local değişmez.


Sonuç​

Bu rehber ile Rocky Linux 9 üzerinde SSH güvenliğinizi ciddi şekilde güçlendirmiş oldunuz. Fail2Ban; yanlış parola denemelerini izler, tehdit oluşturan IP’leri otomatik olarak banlar ve sunucunuzu brute-force saldırılarına karşı korur.

Rabisu Bulut üzerinde Rocky Linux sunucunuzu güvenle oluşturup bu yapılandırmayı hemen uygulayabilirsiniz.